#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
#include<string.h>

#define filename "log.txt"

int main()
{
  close(0);
  //打开一个文件,若该文件不存在则新建并写入，若该文件存在则清空并写入
  int fd=open(filename,O_RDONLY | O_CREAT,0666);    
  
  if(fd<0)                  //打开失败
  {
    perror("open");
    return 1;
  }

  dup2(fd,0);
  char inbuffer[1024];
  ssize_t s = read(0,inbuffer,sizeof(inbuffer)-1);
  if(s>0)
  {
    inbuffer[s]='\0';
    printf("echo# %s\n",inbuffer);
  }
  
  //写入5条信息
//  const char* msg = "hello linux\n";
//  int cnt=5;
//  while(cnt--)
//  {
//    write(1,msg,strlen(msg));
//  }

  //关闭文件
  close(fd);
  return 0;
}

/*
int main()
{
  //打开一个文件,若该文件不存在则新建并写入，若该文件存在则清空并写入
  int fd=open(filename,O_CREAT|O_WRONLY|O_TRUNC,0666);    
  
  if(fd<0)                  //打开失败
  {
    perror("open");
    return 1;
  }

  //重定向
  dup2(fd,1);
  
  //写入5条信息
  const char* msg = "hello linux\n";
  int cnt=5;
  while(cnt--)
  {
    write(1,msg,strlen(msg));
  }

  //关闭文件
  close(fd);
  return 0;
}
*/
